package com.cjx.yuanshenstartforumbackend.common;

/**
 * @Description 返回类的工具类
 * @Author cjx
 * @Date 2023/12/14 16:36
 **/
public class ResultUtils {

    /**
     * 有返回值成功的返回类
     * @return
     */
    public static BaseResponse success(){
        return new BaseResponse(2000);
    }

    /**
     * 有返回值成功的返回类
      * @param data
     * @return
     * @param <T>
     */
    public static <T>BaseResponse <T>success(T data){
        return new BaseResponse<T>(ErrorCode.SUCCESS,data);
    }


    /**
     * 失败
     *
     * @param errorCode
     * @return
     */
    public static BaseResponse<?> error(ErrorCode errorCode) {
        return new BaseResponse<>(errorCode);
    }

    /**
     * 失败
     *
     * @param code
     * @param message
     * @param description
     * @return
     */
    public static BaseResponse error(int code, String message, String description) {
        return new BaseResponse(code, null, message, description);
    }

    /**
     * 失败
     *
     * @param errorCode
     * @return
     */
    public static BaseResponse error(ErrorCode errorCode, String message, String description) {
        return new BaseResponse(errorCode.getCode(), null, message, description);
    }


    /**
     * 失败
     *
     * @param errorCode
     * @return
     */
    public static BaseResponse error(ErrorCode errorCode, String description) {
        return new BaseResponse(errorCode.getCode(), errorCode.getMessage(), description);
    }

}
